{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "sucess\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "data_file = pd.read_csv('comments.csv')\n",
    "print('sucess')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>name</th>\n",
       "      <th>city</th>\n",
       "      <th>score</th>\n",
       "      <th>rating</th>\n",
       "      <th>date</th>\n",
       "      <th>comment</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>tianya无泪</td>\n",
       "      <td>河北石家庄</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>2019/6/27</td>\n",
       "      <td>易烊千玺的李必真的很棒了，第一部影视化作品四字弟弟太值得夸。看似清高孤傲，实际情义双全。他演...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>吹哥</td>\n",
       "      <td>辽宁大连</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>2019/6/27</td>\n",
       "      <td>期待这部剧很久了，感觉唐朝的还原度非常高，装饰的道具都很真实。剧中人物的服装非常精致，就是漂...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>ECHOT</td>\n",
       "      <td>Paris, France</td>\n",
       "      <td>1</td>\n",
       "      <td>很差</td>\n",
       "      <td>2019/6/28</td>\n",
       "      <td>希望越大失望越大，一口气看了四五集，不知所云，画面很美，只不过给B站剪辑手提供了很多空境素材...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   user_id      name           city  score rating       date  \\\n",
       "0        0  tianya无泪          河北石家庄      4     推荐  2019/6/27   \n",
       "1        1        吹哥           辽宁大连      4     推荐  2019/6/27   \n",
       "2        2     ECHOT  Paris, France      1     很差  2019/6/28   \n",
       "\n",
       "                                             comment  \n",
       "0  易烊千玺的李必真的很棒了，第一部影视化作品四字弟弟太值得夸。看似清高孤傲，实际情义双全。他演...  \n",
       "1  期待这部剧很久了，感觉唐朝的还原度非常高，装饰的道具都很真实。剧中人物的服装非常精致，就是漂...  \n",
       "2  希望越大失望越大，一口气看了四五集，不知所云，画面很美，只不过给B站剪辑手提供了很多空境素材...  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_file.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "data_file.rename(columns={'score1':'rating'},inplace=True)#替换列名"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>name</th>\n",
       "      <th>city</th>\n",
       "      <th>score</th>\n",
       "      <th>rating</th>\n",
       "      <th>date</th>\n",
       "      <th>comment</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>tianya无泪</td>\n",
       "      <td>河北石家庄</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>2019/6/27</td>\n",
       "      <td>易烊千玺的李必真的很棒了，第一部影视化作品四字弟弟太值得夸。看似清高孤傲，实际情义双全。他演...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>吹哥</td>\n",
       "      <td>辽宁大连</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>2019/6/27</td>\n",
       "      <td>期待这部剧很久了，感觉唐朝的还原度非常高，装饰的道具都很真实。剧中人物的服装非常精致，就是漂...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   user_id      name   city  score rating       date  \\\n",
       "0        0  tianya无泪  河北石家庄      4     推荐  2019/6/27   \n",
       "1        1        吹哥   辽宁大连      4     推荐  2019/6/27   \n",
       "\n",
       "                                             comment  \n",
       "0  易烊千玺的李必真的很棒了，第一部影视化作品四字弟弟太值得夸。看似清高孤傲，实际情义双全。他演...  \n",
       "1  期待这部剧很久了，感觉唐朝的还原度非常高，装饰的道具都很真实。剧中人物的服装非常精致，就是漂...  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_file.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(480, 7)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_file.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 480 entries, 0 to 479\n",
      "Data columns (total 7 columns):\n",
      "user_id    480 non-null int64\n",
      "name       480 non-null object\n",
      "city       480 non-null object\n",
      "score      480 non-null int64\n",
      "rating     480 non-null object\n",
      "date       480 non-null object\n",
      "comment    480 non-null object\n",
      "dtypes: int64(2), object(5)\n",
      "memory usage: 26.3+ KB\n"
     ]
    }
   ],
   "source": [
    "data_file.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = data_file\n",
    "df['date']=pd.to_datetime(df['date'],format='%Y-%m-%d')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019-09-29 00:00:00\n",
      "2019-06-27 00:00:00\n"
     ]
    }
   ],
   "source": [
    "print(df['date'].max())\n",
    "print(df['date'].min())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "rating\n",
       "--      2\n",
       "力荐    141\n",
       "很差    145\n",
       "推荐     85\n",
       "较差     84\n",
       "还行     23\n",
       "dtype: int64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby('rating').size()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\78328\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:1: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n"
     ]
    }
   ],
   "source": [
    "df[df['rating'] == '--']['rating'] = '未评论'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "rating_results = df.groupby('rating').size()\n",
    "rating_results = rating_results.reindex(['力荐', '推荐', '还行', '较差', '很差', '未评论'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "rating_results = df.groupby('rating').size()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "rating\n",
       "--      2\n",
       "力荐    141\n",
       "很差    145\n",
       "推荐     85\n",
       "较差     84\n",
       "还行     23\n",
       "dtype: int64"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rating_results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x266c9c235c0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,5))\n",
    "sns.countplot(x='rating', data = df, order=['力荐', '推荐', '还行', '较差', '很差', '未评论'])\n",
    "plt.title('Scores Comparison')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "sucess\n"
     ]
    }
   ],
   "source": [
    "from pyecharts.charts import Bar\n",
    "from pyecharts import options as opts\n",
    "from pyecharts.globals import ChartType, SymbolType,ThemeType\n",
    "print('sucess')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"5ebe65f72bb24d8d944c75443f0a9ee0\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_5ebe65f72bb24d8d944c75443f0a9ee0 = echarts.init(\n",
       "                    document.getElementById('5ebe65f72bb24d8d944c75443f0a9ee0'), 'light', {renderer: 'canvas'});\n",
       "                var option_5ebe65f72bb24d8d944c75443f0a9ee0 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"bar\",\n",
       "            \"name\": \"\\u603b\\u4f53\\u8bc4\\u4ef7\",\n",
       "            \"data\": [\n",
       "                2,\n",
       "                141,\n",
       "                145,\n",
       "                85,\n",
       "                84,\n",
       "                23\n",
       "            ],\n",
       "            \"barCategoryGap\": \"20%\",\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u603b\\u4f53\\u8bc4\\u4ef7\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u603b\\u4f53\\u8bc4\\u4ef7\": true\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"xAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"data\": [\n",
       "                \"--\",\n",
       "                \"\\u529b\\u8350\",\n",
       "                \"\\u5f88\\u5dee\",\n",
       "                \"\\u63a8\\u8350\",\n",
       "                \"\\u8f83\\u5dee\",\n",
       "                \"\\u8fd8\\u884c\"\n",
       "            ]\n",
       "        }\n",
       "    ],\n",
       "    \"yAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_5ebe65f72bb24d8d944c75443f0a9ee0.setOption(option_5ebe65f72bb24d8d944c75443f0a9ee0);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x266ca3e5ac8>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bar = Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))\n",
    "bar.add_xaxis(rating_results.index.tolist())\n",
    "bar.add_yaxis('总体评价',rating_results.tolist())\n",
    "bar.render_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[2, 141, 145, 85, 84, 23]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rating_results.tolist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"e57832d6fd1941ff93850324368bbb12\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_e57832d6fd1941ff93850324368bbb12 = echarts.init(\n",
       "                    document.getElementById('e57832d6fd1941ff93850324368bbb12'), 'white', {renderer: 'canvas'});\n",
       "                var option_e57832d6fd1941ff93850324368bbb12 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"pie\",\n",
       "            \"name\": \"\\u8bc4\\u5206\\u5206\\u5e03\",\n",
       "            \"clockwise\": true,\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"--\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u529b\\u8350\",\n",
       "                    \"value\": 141\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5f88\\u5dee\",\n",
       "                    \"value\": 145\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u63a8\\u8350\",\n",
       "                    \"value\": 85\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8f83\\u5dee\",\n",
       "                    \"value\": 84\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8fd8\\u884c\",\n",
       "                    \"value\": 23\n",
       "                }\n",
       "            ],\n",
       "            \"radius\": [\n",
       "                \"25%\",\n",
       "                \"50%\"\n",
       "            ],\n",
       "            \"center\": [\n",
       "                \"50%\",\n",
       "                \"50%\"\n",
       "            ],\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"--\",\n",
       "                \"\\u529b\\u8350\",\n",
       "                \"\\u5f88\\u5dee\",\n",
       "                \"\\u63a8\\u8350\",\n",
       "                \"\\u8f83\\u5dee\",\n",
       "                \"\\u8fd8\\u884c\"\n",
       "            ],\n",
       "            \"selected\": {}\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    }\n",
       "};\n",
       "                chart_e57832d6fd1941ff93850324368bbb12.setOption(option_e57832d6fd1941ff93850324368bbb12);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x266ca423fd0>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pyecharts.charts import Pie\n",
    "data_pair = list(zip(rating_results.index.tolist(),rating_results.tolist()))\n",
    "pie=Pie()\n",
    "pie.add(\n",
    "    '评分分布',\n",
    "    data_pair,\n",
    "    radius = ['25%','50%']\n",
    ")\n",
    "pie.render_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.set_index('date',inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>name</th>\n",
       "      <th>city</th>\n",
       "      <th>score</th>\n",
       "      <th>rating</th>\n",
       "      <th>comment</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-06-27</th>\n",
       "      <td>0</td>\n",
       "      <td>tianya无泪</td>\n",
       "      <td>河北石家庄</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>易烊千玺的李必真的很棒了，第一部影视化作品四字弟弟太值得夸。看似清高孤傲，实际情义双全。他演...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-27</th>\n",
       "      <td>1</td>\n",
       "      <td>吹哥</td>\n",
       "      <td>辽宁大连</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>期待这部剧很久了，感觉唐朝的还原度非常高，装饰的道具都很真实。剧中人物的服装非常精致，就是漂...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-28</th>\n",
       "      <td>2</td>\n",
       "      <td>ECHOT</td>\n",
       "      <td>Paris, France</td>\n",
       "      <td>1</td>\n",
       "      <td>很差</td>\n",
       "      <td>希望越大失望越大，一口气看了四五集，不知所云，画面很美，只不过给B站剪辑手提供了很多空境素材...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            user_id      name           city  score rating  \\\n",
       "date                                                         \n",
       "2019-06-27        0  tianya无泪          河北石家庄      4     推荐   \n",
       "2019-06-27        1        吹哥           辽宁大连      4     推荐   \n",
       "2019-06-28        2     ECHOT  Paris, France      1     很差   \n",
       "\n",
       "                                                      comment  \n",
       "date                                                           \n",
       "2019-06-27  易烊千玺的李必真的很棒了，第一部影视化作品四字弟弟太值得夸。看似清高孤傲，实际情义双全。他演...  \n",
       "2019-06-27  期待这部剧很久了，感觉唐朝的还原度非常高，装饰的道具都很真实。剧中人物的服装非常精致，就是漂...  \n",
       "2019-06-28  希望越大失望越大，一口气看了四五集，不知所云，画面很美，只不过给B站剪辑手提供了很多空境素材...  "
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "score_trend = df.resample('M').agg({'score':'mean','comment':'count'})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('2019-06-27 00:00:00')"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index.min()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "score_trend_tmp = df.groupby(df.index.year*100+df.index.month)['score'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "date\n",
       "6    450\n",
       "7     20\n",
       "8      4\n",
       "9      6\n",
       "dtype: int64"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby(df.index.month).size()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"3cbb6fe1ffa74dfea20e3fd8ba08de06\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_3cbb6fe1ffa74dfea20e3fd8ba08de06 = echarts.init(\n",
       "                    document.getElementById('3cbb6fe1ffa74dfea20e3fd8ba08de06'), 'white', {renderer: 'canvas'});\n",
       "                var option_3cbb6fe1ffa74dfea20e3fd8ba08de06 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"line\",\n",
       "            \"name\": \"\\u8bc4\\u5206\",\n",
       "            \"connectNulls\": false,\n",
       "            \"symbolSize\": 4,\n",
       "            \"showSymbol\": true,\n",
       "            \"smooth\": false,\n",
       "            \"step\": false,\n",
       "            \"data\": [\n",
       "                [\n",
       "                    \"2019-06-30T00:00:00\",\n",
       "                    3.048888888888889\n",
       "                ],\n",
       "                [\n",
       "                    \"2019-07-31T00:00:00\",\n",
       "                    1.25\n",
       "                ],\n",
       "                [\n",
       "                    \"2019-08-31T00:00:00\",\n",
       "                    3.75\n",
       "                ],\n",
       "                [\n",
       "                    \"2019-09-30T00:00:00\",\n",
       "                    2.5\n",
       "                ]\n",
       "            ],\n",
       "            \"hoverAnimation\": true,\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"lineStyle\": {\n",
       "                \"width\": 1,\n",
       "                \"opacity\": 1,\n",
       "                \"curveness\": 0,\n",
       "                \"type\": \"solid\"\n",
       "            },\n",
       "            \"areaStyle\": {\n",
       "                \"opacity\": 0\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u8bc4\\u5206\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u8bc4\\u5206\": true\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"xAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"data\": [\n",
       "                \"2019-06-30T00:00:00\",\n",
       "                \"2019-07-31T00:00:00\",\n",
       "                \"2019-08-31T00:00:00\",\n",
       "                \"2019-09-30T00:00:00\"\n",
       "            ]\n",
       "        }\n",
       "    ],\n",
       "    \"yAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_3cbb6fe1ffa74dfea20e3fd8ba08de06.setOption(option_3cbb6fe1ffa74dfea20e3fd8ba08de06);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x266ca4179e8>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pyecharts.charts import Line\n",
    "\n",
    "line = Line()\n",
    "line.add_xaxis(score_trend.index.tolist())\n",
    "line.add_yaxis('评分', score_trend['score'].tolist())\n",
    "line.render_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "date\n",
       "201906   1970-01-01 00:00:00.000000450\n",
       "201907   1970-01-01 00:00:00.000000020\n",
       "201908   1970-01-01 00:00:00.000000004\n",
       "201909   1970-01-01 00:00:00.000000006\n",
       "dtype: datetime64[ns]"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "score_trend_tmp = df.groupby(df.index.year*100+df.index.month)['score'].mean()\n",
    "pd.to_datetime(df.groupby(df.index.year*100+df.index.month).size())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"75a2323f917046afa2bcfec77707ca92\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_75a2323f917046afa2bcfec77707ca92 = echarts.init(\n",
       "                    document.getElementById('75a2323f917046afa2bcfec77707ca92'), 'white', {renderer: 'canvas'});\n",
       "                var option_75a2323f917046afa2bcfec77707ca92 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"line\",\n",
       "            \"name\": \"\\u8bc4\\u5206\",\n",
       "            \"connectNulls\": false,\n",
       "            \"symbolSize\": 4,\n",
       "            \"showSymbol\": true,\n",
       "            \"smooth\": false,\n",
       "            \"step\": false,\n",
       "            \"data\": [\n",
       "                [\n",
       "                    1,\n",
       "                    3.048888888888889\n",
       "                ],\n",
       "                [\n",
       "                    2,\n",
       "                    1.25\n",
       "                ],\n",
       "                [\n",
       "                    3,\n",
       "                    3.75\n",
       "                ],\n",
       "                [\n",
       "                    4,\n",
       "                    2.5\n",
       "                ]\n",
       "            ],\n",
       "            \"hoverAnimation\": true,\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"lineStyle\": {\n",
       "                \"width\": 1,\n",
       "                \"opacity\": 1,\n",
       "                \"curveness\": 0,\n",
       "                \"type\": \"solid\"\n",
       "            },\n",
       "            \"areaStyle\": {\n",
       "                \"opacity\": 0\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u8bc4\\u5206\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u8bc4\\u5206\": true\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"xAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"data\": [\n",
       "                1,\n",
       "                2,\n",
       "                3,\n",
       "                4\n",
       "            ]\n",
       "        }\n",
       "    ],\n",
       "    \"yAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_75a2323f917046afa2bcfec77707ca92.setOption(option_75a2323f917046afa2bcfec77707ca92);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x266ca3ec748>"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "line = Line()\n",
    "line.add_xaxis([1,2,3,4])\n",
    "line.add_yaxis('评分', score_trend_tmp.tolist())\n",
    "line.render_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "from snownlp import SnowNLP"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.7853504415636449\n",
      "0.13082804652201174\n",
      "0.5\n"
     ]
    }
   ],
   "source": [
    "text = SnowNLP('这个产品很好用，这个产品是垃圾，这个也太贵了。')\n",
    "sent = text.sentences\n",
    "for sen in sent:\n",
    "    s = SnowNLP(sen)\n",
    "    print(s.sentiments)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.47205949602855224"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.mean([SnowNLP(sen).sentiments for sen in sent])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def get_sentiments_score(comment):\n",
    "    sents = SnowNLP(comment).sentences    \n",
    "    sentiment_score = np.mean([SnowNLP(sent).sentiments for sent in sents])\n",
    "    return sentiment_score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['sentiment_score'] = df['comment'].map(get_sentiments_score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>name</th>\n",
       "      <th>city</th>\n",
       "      <th>score</th>\n",
       "      <th>rating</th>\n",
       "      <th>comment</th>\n",
       "      <th>sentiment_score</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-06-27</th>\n",
       "      <td>0</td>\n",
       "      <td>tianya无泪</td>\n",
       "      <td>河北石家庄</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>易烊千玺的李必真的很棒了，第一部影视化作品四字弟弟太值得夸。看似清高孤傲，实际情义双全。他演...</td>\n",
       "      <td>0.862567</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-27</th>\n",
       "      <td>1</td>\n",
       "      <td>吹哥</td>\n",
       "      <td>辽宁大连</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>期待这部剧很久了，感觉唐朝的还原度非常高，装饰的道具都很真实。剧中人物的服装非常精致，就是漂...</td>\n",
       "      <td>0.760200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-28</th>\n",
       "      <td>2</td>\n",
       "      <td>ECHOT</td>\n",
       "      <td>Paris, France</td>\n",
       "      <td>1</td>\n",
       "      <td>很差</td>\n",
       "      <td>希望越大失望越大，一口气看了四五集，不知所云，画面很美，只不过给B站剪辑手提供了很多空境素材...</td>\n",
       "      <td>0.713012</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-27</th>\n",
       "      <td>3</td>\n",
       "      <td>陈词</td>\n",
       "      <td>陕西西安</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>雷佳音真是把张小敬的匪气，轻浮，外粗内细演活了。最喜欢他死牢里一抬眼的那股子“狠”劲儿，不想...</td>\n",
       "      <td>0.335210</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-28</th>\n",
       "      <td>4</td>\n",
       "      <td>雨YING</td>\n",
       "      <td>湖北仙桃</td>\n",
       "      <td>1</td>\n",
       "      <td>很差</td>\n",
       "      <td>台词太差了，完全没有起伏，出戏</td>\n",
       "      <td>0.581534</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            user_id      name           city  score rating  \\\n",
       "date                                                         \n",
       "2019-06-27        0  tianya无泪          河北石家庄      4     推荐   \n",
       "2019-06-27        1        吹哥           辽宁大连      4     推荐   \n",
       "2019-06-28        2     ECHOT  Paris, France      1     很差   \n",
       "2019-06-27        3        陈词           陕西西安      4     推荐   \n",
       "2019-06-28        4     雨YING           湖北仙桃      1     很差   \n",
       "\n",
       "                                                      comment  sentiment_score  \n",
       "date                                                                            \n",
       "2019-06-27  易烊千玺的李必真的很棒了，第一部影视化作品四字弟弟太值得夸。看似清高孤傲，实际情义双全。他演...         0.862567  \n",
       "2019-06-27  期待这部剧很久了，感觉唐朝的还原度非常高，装饰的道具都很真实。剧中人物的服装非常精致，就是漂...         0.760200  \n",
       "2019-06-28  希望越大失望越大，一口气看了四五集，不知所云，画面很美，只不过给B站剪辑手提供了很多空境素材...         0.713012  \n",
       "2019-06-27  雷佳音真是把张小敬的匪气，轻浮，外粗内细演活了。最喜欢他死牢里一抬眼的那股子“狠”劲儿，不想...         0.335210  \n",
       "2019-06-28                                    台词太差了，完全没有起伏，出戏         0.581534  "
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x266e7706ba8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x266e7723dd8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAFKCAYAAADWsrEYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAGZ9JREFUeJzt3Xu03WV95/H3h4RbAqUCBxyVFNEi\nWBlajQWtzID3C4IidlmpjnQ01mqp1xkdR6SrtuK0DC2iVlrAqQoqDlYYLCoickeDFasGKt6w6kjw\nGiIiCd/5Yz8ZtockZ+ch+5x9ct6vtfY6v/vvu/dzcs4nz+85v1+qCkmSJG257ea6AEmSpPnKICVJ\nktTJICVJktTJICVJktTJICVJktTJICVJktTJICVNsCTbJXldkiuSfHau69makuyW5B1Jbkjy17N4\n3j9Jsj7JN5J8JcnKJK9NssMYzvWSJGds7eNKmhwGKWmyvQm4vaoOAw7pPUiS5yZ5SJteluS7SfbZ\nWkVu5rwvTjK1idXnAX9bVQcDrxp3LUNuAb5dVQ+uqocDzwOOBC5NsjNAkvOTvHZjOyd5UJIXbOrg\nSQ5NckuSHYHVwO5bWuBctZekLWeQkibbCcDnAOq+3T33ecAR7Ti3AI+qqm/f9/Jm9DLg4OkLkxzE\nIBh+udU0m3cGvn14pqpuZhCklgGvbotXAH+zif3vB7x1M8f/HLC8qu6cfq4tMFftJWkLGaSkyfZ9\n4K+S7LJhQZJ9k1yQ5PPt9Zgk27dei79Mcl2SbyZ5ftv+dcATgDcmeXuShwE3ZODJ7RjnJflykquS\n/EW73PWNJCcNnffgJJck+UKSq5M8rPWW3Nwu0V2f5KtJntC2PxU4EHhHkjdMe18/BJYA/2N4Yevt\n+VCr6f+0ZQ9J8tF2CfCmJCcn2b6t+3ySF7avr2/LTkhybZIbk7wzyfSfc3dN/5Cr6nbgH4Cj2qIP\nA0e34+2f5NJ2/ingA8DuSf45ySNaW7y0XX59F4MA9Il2nPXAfkkubJ/v1UkObMddmeRRbXqXJKuT\n7LW59mrbPrK1wxeTrErymrZ8k98Dksaoqnz58jWhL+AxwBrgSmBHBv/5uRx4aFv/JOBzbfp7wNFt\n+pHAj4DFbf4S4NA2vQtQwGLgAOAHwN5t3TnA2W16t3aM/YBdgauAvdq6lzC4NLdjO9bBbfmzgS8P\n1X8zcP9NvLcT2r5/2eZ3Br4I/E6bXwQsBb4KPK0tWwp8DPjTNn8V8J627QOAY4DTgbTXlcAzpp33\ncOCbG6nnpcCNbfrDwIvb9BXAEUPbPQ64eGj+/e3z3R54EPAI4N/auscDlwG7tvnjgH8Zqv2JQ8dZ\nDew7Q3s9gMGlyUe1dXsCK4HjZ/oe8OXL13he9khJE6yqrgGezODy2H8D9gd+E3hPkuuBkxmEH4A7\nuedS2ecZ9Lzs3dYtHTrsHUPTPwfuqKrvt/kr235U1U+AVcA+wO8Avw58pJ13BfCRGly+YsN5gY+3\nGjcYPu/093YagzD12iSPZ9Ab9IWquqqtX9/O+62q+qe2bC3wZuBZ7TB3AR+qqvVV9V3gd4H/CFwL\nXN/e3w2bqmGaBwM3tunhz+grwGuS7LSJ93QXcH5V3VVV/zZt30UMQtuaVv/7gQcm2YN794z9bGh6\nU+11JPCJqrq+He824G3c83ls7ntA0hgsnusCJG1eVV2T5G3AbzPoBfpxVT1uhF1/xqCXBAa/mNOm\nd25fc689fnkfgF+07RYz6K35DzPU+rMkwz9Xhs+7se3fnuRoBuEQ4CfTNtmBeweOxcBPh+bvnrbu\n1Ko6a3N1TpdkCfBc4I/aop2H6n458HfAhxiEvY29p+Eahvcd/ixpfxkY4Mdtn+H1w+PENtVeo3we\nw6a3p6StzB4paYIlWdTG+BwIvJdBj8nPk7ysrd9+2l/F7TTtEBtCzd0MLgPBPb0dv9K+Lpm2z/Tb\nAOwIXA0cmOTp7bxLk+y2qfMOhanh8/7S+2pfd2MwePt8BpfAjkmyX1u3B4MesoOGxl3tApwEvHPo\ncMN/FXch8KoNn0mSB04/90Zq2Q/4CPDeqvp4W7yUez6f9cDrgcdu5j0N1zC87y7Arm08WoA/B85s\nvW3fowXI1iO3N/e0xaba65+AZyX5922/vYDXAu8eOv+mvgckjYFBSppQSe4H/CuDEHN5VZ1XVeuA\nZwJHJ1kF3ARs6CX6AfCrQ4dYzeCyHAzG/JyewV/L3cmgR2QZsBa4M8mubbufck8PCAzG2OxZVT9k\ncFnpDUm+wuBy2cPbNt8HhsPc94F92/QHgfNz71sgPCXJjQwCzCur6pvtUtSrgH9s7+2DVfVjBoO+\n35zky8BngA9U1bntOD8BHrLhoFX1vxgMGv9Mkpu457LnsJuB9Um+leRLwNuBU6rqpGnve8MlsY8D\nFwG/1+avBvZIcvrQZ7bf0L5rgXUt5HyVQSD6KoOxTHcAGwbe/ynw3CQ3AE9jcEluQyDbaHtV1deA\nFwJnttovAE6sqivbfpv7HpA0Bqmazb86liRJ2nbYIyVJktTJICVJktTJICVJktTJICVJktRp1v4s\nds8996x99913tk4nSZLU7frrr7+tqjb10PX/b9aC1L777svKlStn63SSJEndknxrlO28tCdJktTJ\nICVJktTJICVJktTJICVJktTJICVJktTJICVJktTJICVJktTJICVJktTJICVJktTJICVJktTJICVJ\nktRp1p61J0mafOdcd8tclwDA8w9ZNtclSCOxR0qSJKmTQUqSJKmTQUqSJKmTY6QkSRPHsVqaL+yR\nkiRJ6mSQkiRJ6mSQkiRJ6mSQkiRJ6mSQkiRJ6jRykEryiiTnJDkgyaIkpyT5dJJrkzx+nEVKkiRN\nopFuf5DkNcD1VXV6m/9D4EdVdUSSvYBPJ/mtqvrFGGuVJEmaKDP2SLWg9CzgZa0H6jjgWOBsgKq6\nFVgFPHSchUqSJE2aUXqkngF8A/gDYEfgamAJcOvQNmuApdN3TLICWAGwbJk3NZMkzS/eGFQzGWWM\n1N7Ap6pqXVWtBW4E9gCmhrbZB/jW9B2r6oyqWl5Vy6empqavliRJmtdGCVI3AYcDJNkV+HXgFOAF\nbdnDgTvaJT5JkqQFY5RLex8FnpnkKmAd8DrgGuDdSa4Efg68eHwlSpIkTaYZg1RV3c1gfNR0L9j6\n5UiSJM0f3pBTkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FK\nkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSp0+K5LkCS5to5190y1yUA8PxD\nls11CZK2kD1SkiRJnQxSkiRJnQxSkiRJnQxSkiRJnQxSkiRJnQxSkiRJnQxSkiRJnQxSkiRJnQxS\nkiRJnQxSkiRJnQxSkiRJnQxSkiRJnQxSkiRJnQxSkiRJnQxSkiRJnQxSkiRJnbYoSCVZnOQB4ypG\nkiRpPhkpSCU5JslXgE8CpyVZmuTsJJcluSLJweMtU5IkafIsHnG7xwL/qao+B5DkZOBTVfW+JAcC\nZwOHjqlGSZKkiTRqkHo08Ogk2wFvA44E3ghQVavaJb8lVfWzMdUpSZI0cUYNUk+oqnVJ/h1wDbC+\nqtYPrV8DLAV+KUglWQGsAFi2bNlWKFeSJGlyjDRGqqrWta/fA24FtkuyaGiT3atq9Ub2O6OqllfV\n8qmpqa1SsCRJ0qQYdbD59u3rU4AbgUuAY9uyJzHopZIkSVpQZry01y7nfSLJdxiEqJcBOwNnJTkB\nuA04fqxVSpIkTaAZg1S7nHfQtMVrgaPGUpEkSdI84Z3NJUmSOhmkJEmSOhmkJEmSOhmkJEmSOhmk\nJEmSOhmkJEmSOhmkJEmSOo36rD1J0pidc90tc12CpC1kj5QkSVIng5QkSVIng5QkSVIng5QkSVIn\ng5QkSVIng5QkSVIng5QkSVIng5QkSVIng5QkSVIng5QkSVIng5QkSVIng5QkSVIng5QkSVIng5Qk\nSVIng5QkSVIng5QkSVIng5QkSVIng5QkSVIng5QkSVIng5QkSVIng5QkSVIng5QkSVIng5QkSVIn\ng5QkSVIng5QkSVKnkYJUku2TnJfksUmWJDk7yWVJrkhy8LiLlCRJmkQzBqkkAd4B7APsAJwIfKqq\nDgdWAO8eZ4GSJEmTapQeqbcAFwNfaPNHAucCVNUqYHGSJeMpT5IkaXJtNkgl+X3gB1V1/tDinatq\n/dD8GmDpJvZfkWRlkpWrV6++79VKkiRNkMUzrP9dYNckTwYeATwa2DfJoqEwtXtVbTQlVdUZwBkA\ny5cvr61UsyRJ0kTYbJCqqqM2TCf5IHAq8J+BY4EPJnkScM1YK5QkSZpQM/VIDdsFuB14A3BWkhOA\n24Djx1GYJEnSpBs5SFXVM4Zmj9rkhpIkSQuEN+SUJEnqZJCSJEnqZJCSJEnqtCWDzSVJ0gJ2znW3\nzHUJPP+QZXNdwi+xR0qSJKmTQUqSJKmTQUqSJKmTQUqSJKmTQUqSJKmTQUqSJKmTQUqSJKmTQUqS\nJKmTQUqSJKmTQUqSJKmTQUqSJKmTz9qTJGnCTcIz7rRx9khJkiR1MkhJkiR1MkhJkiR1MkhJkiR1\nMkhJkiR1MkhJkiR1MkhJkiR18j5SkuaM98aRNN/ZIyVJktTJICVJktTJICVJktTJICVJktTJICVJ\nktTJICVJktTJICVJktTJICVJktTJICVJktRpxjubJ1kMXAjsBAR4EXAr8A7gwcAi4BVVdcP4ypQk\nSZo8MwapqlqX5AVVdVuSFwJ/AtwJfKqq3pfkQOBs4NAx1ypJkjRRRrq010LUnsATgMuBI4Fz27pV\nwOIkS8ZWpSRJ0gQaKUgleTZwNbA9cBmwc1WtH9pkDbB0I/utSLIyycrVq1dvhXIlSZImx6g9Uh+p\nqv2BC4DTAJIsGtpk96q6V1KqqjOqanlVLZ+amtoqBUuSJE2KGYNUkuFtFgM/AC4Fjm3rnwRcM5bq\nJEmSJtiMg82Bw5KcDnwHuBn4L8AS4KwkJwC3AcePr0RJkqTJNMpf7X0GOGja4p8BR42lIkmSpHnC\nG3JKkiR1MkhJkiR1MkhJkiR1MkhJkiR1MkhJkiR1MkhJkiR1MkhJkiR1MkhJkiR1MkhJkiR1MkhJ\nkiR1MkhJkiR1MkhJkiR1MkhJkiR1MkhJkiR1MkhJkiR1MkhJkiR1MkhJkiR1MkhJkiR1MkhJkiR1\nMkhJkiR1MkhJkiR1MkhJkiR1MkhJkiR1MkhJkiR1WjzXBUiafedcd8tclyBJ2wR7pCRJkjoZpCRJ\nkjoZpCRJkjo5RkqaRY5NkqRtiz1SkiRJnQxSkiRJnQxSkiRJnQxSkiRJnWYMUknul+STSa5NcnmS\ng5MsSXJ2ksuSXJHk4NkoVpIkaZKM8ld7uwOnVNXFSQ4CTgeuAT5VVe9LciBwNnDoGOuUJEmaODP2\nSFXV16rq4jb7I2ARcCRwblu/ClicZMnYqpQkSZpAWzpG6s+AtwM7V9X6oeVrgKXTN06yIsnKJCtX\nr159H8qUJEmaPCMFqSSLkpwK/N+q+uCGZUOb7F5V90pKVXVGVS2vquVTU1Nbp2JJkqQJMcpg892A\nC4Cbq+oNSbYDLgWObeufxGDMlCRJ0oIyymDz/w4cDCxN8gfAd4HjgbOSnADc1uYlSZIWlFGC1BuB\n/1pVd09bftQY6pEkSZo3ZgxSVfWL2ShEkiRpvvHO5pIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIk\nSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0M\nUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIk\nSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0MUpIkSZ0Wz3UB0mw457pb5roE\nSdI2aOQeqSQHJLkyyZlt/kVJPp3k2iSvHl+JkiRJk2lLLu19B/gAcHeSA4HnAU8EHgccneSgMdQn\nSZI0sUYOUlW1BrgdWAs8B3hvVa2vqnXAecBh4ylRkiRpMvWMkboLeBBw3dCyNcBe0zdMsgJYAbBs\n2bKe+rQNcHySJGlb1fNXe+uBHwJTQ8v2Ab45fcOqOqOqllfV8qmpqemrJUmS5rWeILUDcBFwXAZ2\nAZ4OfGyrViZJkjThtvTS3u3AblV1VZIrgauBACdW1dqtXp0kSdIE26IgVVUfBj7cpt8KvHUcRUmS\nJM0H3tlckiSpk0FKkiSpk0FKkiSpk8/a24Z5/yZJksbLHilJkqROBilJkqROBilJkqRO29QYqUkZ\nE/T8Q3yuoCRJC4E9UpIkSZ0MUpIkSZ0MUpIkSZ22qTFSk2JSxmpJkqTxskdKkiSpk0FKkiSpk0FK\nkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSp\nk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FK\nkiSpU3eQSvKiJJ9Ocm2SV2/NoiRJkuaDriCV5EDgecATgccBRyc5aGsWJkmSNOkWd+73HOC9VbUe\nIMl5wGHAvwxvlGQFsKLN3p7kpt5CR7AncNsYj68+tsvksU0mk+0ymWyXCXPc7LXJr42yUW+QehBw\n3dD8GmCv6RtV1RnAGZ3n2CJJVlbV8tk4l0Znu0we22Qy2S6TyXaZPJPWJr1jpH4ITA3N7wN88z5X\nI0mSNI/0BqmLgOMysAvwdOBjW68sSZKkydd1aa+qrkpyJXA1EODEqlq7VSvbcrNyCVFbzHaZPLbJ\nZLJdJpPtMnkmqk1SVXNdgyRJ0rzkDTklSZI6GaQkSZI6zbsgtbk7qidZlOSUofWPn6s6F5oZ2mV5\nks8nuSLJBUl+da7qXGhGeQJBkgcm+efZrm2hmqlNkixJ8ldJzk6y/VzUuBDN8DNsSZIPJbms/Sx7\n+lzVudAkOSDJlUnO3Mi617c2+2yS35uL+mCeBakR7qj+EuBHVXUEcBTw9iQ7zH6lC8sI7fIA4Oiq\nOgz4JPCq2a9y4RnlCQQt1J7ORu4Dp61vpjZJEuAU4NSqOr6q7pqbSheWEf6tHA98qaoOB44B3jzr\nRS5c3wE+ANw9vDDJU4GHtt/3RwCvTzK1kf3Hbl4FKYbuqF5V64ANd1Tf4FjgbICquhVYBTx01qtc\neDbbLlV1QVV9u83+CFg0BzUuRJttlyQ7An8PvI7BTXU1fjP9DDsauD/wriQfT/LIuShyAZqpXb4H\nLG3TDwSumuX6FqyqWgPcDky/M8Dw7/u1DP6T/ujZrW5gvgWpBwG3Ds2v4Z5v7lHWazxG+tyTLAVO\nAO7VRauxmKld/idwSlXdPKtVLWwztcmzgYur6ijgj4F3zmJtC9lm26Wqzgd+Lckrgb9g0Guo2TW9\nd3Zift/PtyA10x3VN7b+W+Mva8Gb8U73SfYAPgL8WVV9Y/ZKW9A22S5JdgaeApyU5GJgnzbWYNdZ\nr3Jhmenfyt7AxQBV9a/Ar8xaZQvbZtslycuBj1XVXwN/SOsJ0axaP21+Yp6wMt+C1Ex3VL8IeAFA\nkocDd7RLfBqvzbZLkt8ALgTeUlUXJplv33fz1SbbparuqKqHVtVTquqpwG1VdUTrRtf4zPQz7Cbg\ncIAkvwl8fdYrXJhmapeHDE0vAdbNZnECYPp454uAFwIkuT/wMGDlbBcF8yxIVdVVwIY7ql8CnAQs\nTfKeJIuBU4FHtLuun8aga1xjNkK7vIfB/6zfkuRLwBvmqNQFZYR2ASDJTsDP56TIBWaENjkZ+P0k\nlwF/Drx8jkpdUEZol9OAlyT5DIM2euVc1bpA3Q7slmT7JP+QZHcGA9DvTHIV8GHghJqjO4x7Z3ON\nXRvU/Iu5+iaXJGlcDFKSJEmd5tWlPUmSpElikJIkSepkkJIkSepkkJIkSepkkJI0a9qDxV80NP+O\nJFv1OX/TzyFJ4+Rf7UmaVUm+XVX7zPdzSBLYIyWpU5Kdkrw/yUVJnpnk0iRfTHJ8u0P0F5OcleTq\nJO9p+5wI7JHkkiS7tW3ul+SNSf53ko8luT7J6Uk+meTz7c749J5jE7W/OMlnkhyWZMckp7bznbzh\nGEkuS3JNkr9Jsl2SZyf5+/Yw4VckeVh7759N8q7Z+MwlTR57pCR1SXIk8ETgzcAFwBPaqpuq6iFJ\nbgYOrqq1Sa4AXlpVX0lyY1Ud0I5xNXAM8AxgWVW9OckK4ICqenWS44BDgDf1nmMTtd8I/EZVrU/y\nlna897Z1xwGHVtUft/nTgC8BNzN4WO1vM/hP6IXA8VX1nSQXAG+qqhvu8wcraV6xR0pSr0uA/Rk8\nxHU/Bg/b/SSDwAOwrqrWtulVwJ6bOdZ64I42/TVgxzb9dQaPF9p/K5xj2CnA+5MsYvBctXOH1j2G\nwQO2N/go8AjgbmBlVd1VVXcCvwWcleRSoJijB6ZKmluLZ95Eku6tqn6e5DnAZ4HvAUe2ZRseLjr8\n8+Xuofkdh5YvAXZq09u3r+u55wGlBSxiEK56z7Gx2v8uyaHAY9txHwtc3oLVF4FnApe2zZ8DfKJN\n7zx0mFXAH1XV15LsUFW/2Nw5JW2b7JGS1CXJ04CPM3hY+FuBS9oDw9/UNvlxe7gowBpgjzb9tSQn\ntenbgb2BnwK7tmV3cE9guQPYpap+eB/OMb3u7drDZ3dgEAJPAE5McjnwTuBMYFEbd3UZ8PWq+sdW\nywOGDvUy4G/bsYZ7sCQtII6RkiRJ6mSPlCRJUifHSEnaZiV5PfDUaYtPrqqL56IeSdseL+1JkiR1\n8tKeJElSJ4OUJElSJ4OUJElSJ4OUJElSJ4OUJElSp/8HYX0IGSqLZX0AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x266e782fac8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,5))\n",
    "sns.distplot(df['sentiment_score'],kde=False)\n",
    "plt.title('Sentiment Score Distribution')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "success\n"
     ]
    }
   ],
   "source": [
    "import cpca\n",
    "print('success')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Building prefix dict from the default dictionary ...\n",
      "Dumping model to file cache C:\\Users\\78328\\AppData\\Local\\Temp\\jieba.cache\n",
      "Loading model cost 0.845 seconds.\n",
      "Prefix dict has been built succesfully.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>省</th>\n",
       "      <th>市</th>\n",
       "      <th>区</th>\n",
       "      <th>地址</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>北京市</td>\n",
       "      <td>北京市</td>\n",
       "      <td>海淀区</td>\n",
       "      <td>中关村</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>上海市</td>\n",
       "      <td>上海市</td>\n",
       "      <td>徐汇区</td>\n",
       "      <td>虹漕路312号53号楼2楼</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     省    市    区             地址\n",
       "0  北京市  北京市  海淀区            中关村\n",
       "1  上海市  上海市  徐汇区  虹漕路312号53号楼2楼"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cpca.transform(['海淀区中关村','徐汇区虹漕路312号53号楼2楼'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'济南'"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cpca.transform(['济南高新区齐鲁软件园']).loc[0,'市'][:-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n",
      "WARNING:root: 无法映射, 建议添加进umap中\n"
     ]
    }
   ],
   "source": [
    "def get_valid_city(city_str):\n",
    "    return cpca.transform([city_str]).loc[0, '市'][:-1]\n",
    "df['valid_city'] = df['city'].map(get_valid_city)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>name</th>\n",
       "      <th>city</th>\n",
       "      <th>score</th>\n",
       "      <th>rating</th>\n",
       "      <th>comment</th>\n",
       "      <th>sentiment_score</th>\n",
       "      <th>valid_city</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-06-27</th>\n",
       "      <td>0</td>\n",
       "      <td>tianya无泪</td>\n",
       "      <td>河北石家庄</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>易烊千玺的李必真的很棒了，第一部影视化作品四字弟弟太值得夸。看似清高孤傲，实际情义双全。他演...</td>\n",
       "      <td>0.862567</td>\n",
       "      <td>石家庄</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-27</th>\n",
       "      <td>1</td>\n",
       "      <td>吹哥</td>\n",
       "      <td>辽宁大连</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>期待这部剧很久了，感觉唐朝的还原度非常高，装饰的道具都很真实。剧中人物的服装非常精致，就是漂...</td>\n",
       "      <td>0.760200</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-28</th>\n",
       "      <td>2</td>\n",
       "      <td>ECHOT</td>\n",
       "      <td>Paris, France</td>\n",
       "      <td>1</td>\n",
       "      <td>很差</td>\n",
       "      <td>希望越大失望越大，一口气看了四五集，不知所云，画面很美，只不过给B站剪辑手提供了很多空境素材...</td>\n",
       "      <td>0.713012</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-27</th>\n",
       "      <td>3</td>\n",
       "      <td>陈词</td>\n",
       "      <td>陕西西安</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>雷佳音真是把张小敬的匪气，轻浮，外粗内细演活了。最喜欢他死牢里一抬眼的那股子“狠”劲儿，不想...</td>\n",
       "      <td>0.335210</td>\n",
       "      <td>西安</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-28</th>\n",
       "      <td>4</td>\n",
       "      <td>雨YING</td>\n",
       "      <td>湖北仙桃</td>\n",
       "      <td>1</td>\n",
       "      <td>很差</td>\n",
       "      <td>台词太差了，完全没有起伏，出戏</td>\n",
       "      <td>0.581534</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            user_id      name           city  score rating  \\\n",
       "date                                                         \n",
       "2019-06-27        0  tianya无泪          河北石家庄      4     推荐   \n",
       "2019-06-27        1        吹哥           辽宁大连      4     推荐   \n",
       "2019-06-28        2     ECHOT  Paris, France      1     很差   \n",
       "2019-06-27        3        陈词           陕西西安      4     推荐   \n",
       "2019-06-28        4     雨YING           湖北仙桃      1     很差   \n",
       "\n",
       "                                                      comment  \\\n",
       "date                                                            \n",
       "2019-06-27  易烊千玺的李必真的很棒了，第一部影视化作品四字弟弟太值得夸。看似清高孤傲，实际情义双全。他演...   \n",
       "2019-06-27  期待这部剧很久了，感觉唐朝的还原度非常高，装饰的道具都很真实。剧中人物的服装非常精致，就是漂...   \n",
       "2019-06-28  希望越大失望越大，一口气看了四五集，不知所云，画面很美，只不过给B站剪辑手提供了很多空境素材...   \n",
       "2019-06-27  雷佳音真是把张小敬的匪气，轻浮，外粗内细演活了。最喜欢他死牢里一抬眼的那股子“狠”劲儿，不想...   \n",
       "2019-06-28                                    台词太差了，完全没有起伏，出戏   \n",
       "\n",
       "            sentiment_score valid_city  \n",
       "date                                    \n",
       "2019-06-27         0.862567        石家庄  \n",
       "2019-06-27         0.760200             \n",
       "2019-06-28         0.713012             \n",
       "2019-06-27         0.335210         西安  \n",
       "2019-06-28         0.581534             "
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "comment_city_results = df.groupby('valid_city').agg({'score':'mean','comment':'count'})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pyecharts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "supported_places = pyecharts.datasets.COORDINATES.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [],
   "source": [
    "support_comm_city_results = comment_city_results[comment_city_results.index.isin(supported_places)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [],
   "source": [
    "final_city_results = support_comm_city_results.sort_values(by='comment',ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"1baea577039c4be2b6b3d3d3055c113d\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_1baea577039c4be2b6b3d3d3055c113d = echarts.init(\n",
       "                    document.getElementById('1baea577039c4be2b6b3d3d3055c113d'), 'white', {renderer: 'canvas'});\n",
       "                var option_1baea577039c4be2b6b3d3d3055c113d = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"bar\",\n",
       "            \"name\": \"\\u57ce\\u5e02\\u8bc4\\u8bba\\u6570\",\n",
       "            \"data\": [\n",
       "                75,\n",
       "                40,\n",
       "                19,\n",
       "                17,\n",
       "                15,\n",
       "                9,\n",
       "                9,\n",
       "                8,\n",
       "                7,\n",
       "                6,\n",
       "                6,\n",
       "                6,\n",
       "                5,\n",
       "                5,\n",
       "                5,\n",
       "                5,\n",
       "                3,\n",
       "                3,\n",
       "                2,\n",
       "                2,\n",
       "                2,\n",
       "                2,\n",
       "                2,\n",
       "                2,\n",
       "                2,\n",
       "                2,\n",
       "                2,\n",
       "                2,\n",
       "                2,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1,\n",
       "                1\n",
       "            ],\n",
       "            \"barCategoryGap\": \"20%\",\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u57ce\\u5e02\\u8bc4\\u8bba\\u6570\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u57ce\\u5e02\\u8bc4\\u8bba\\u6570\": true\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"xAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"data\": [\n",
       "                \"\\u5317\\u4eac\",\n",
       "                \"\\u4e0a\\u6d77\",\n",
       "                \"\\u6210\\u90fd\",\n",
       "                \"\\u676d\\u5dde\",\n",
       "                \"\\u5e7f\\u5dde\",\n",
       "                \"\\u82cf\\u5dde\",\n",
       "                \"\\u6b66\\u6c49\",\n",
       "                \"\\u897f\\u5b89\",\n",
       "                \"\\u6df1\\u5733\",\n",
       "                \"\\u957f\\u6c99\",\n",
       "                \"\\u91cd\\u5e86\",\n",
       "                \"\\u5357\\u4eac\",\n",
       "                \"\\u54c8\\u5c14\\u6ee8\",\n",
       "                \"\\u5929\\u6d25\",\n",
       "                \"\\u90d1\\u5dde\",\n",
       "                \"\\u798f\\u5dde\",\n",
       "                \"\\u9752\\u5c9b\",\n",
       "                \"\\u91d1\\u534e\",\n",
       "                \"\\u6cf0\\u5dde\",\n",
       "                \"\\u9a6c\\u978d\\u5c71\",\n",
       "                \"\\u77f3\\u5bb6\\u5e84\",\n",
       "                \"\\u6e29\\u5dde\",\n",
       "                \"\\u5510\\u5c71\",\n",
       "                \"\\u6d4e\\u5357\",\n",
       "                \"\\u5357\\u901a\",\n",
       "                \"\\u5b81\\u6ce2\",\n",
       "                \"\\u626c\\u5dde\",\n",
       "                \"\\u5408\\u80a5\",\n",
       "                \"\\u5409\\u6797\",\n",
       "                \"\\u6bd5\\u8282\",\n",
       "                \"\\u8d35\\u9633\",\n",
       "                \"\\u5609\\u5174\",\n",
       "                \"\\u5b89\\u5eb7\",\n",
       "                \"\\u5b89\\u9633\",\n",
       "                \"\\u5f20\\u5bb6\\u53e3\",\n",
       "                \"\\u90af\\u90f8\",\n",
       "                \"\\u8862\\u5dde\",\n",
       "                \"\\u5f90\\u5dde\",\n",
       "                \"\\u4e3d\\u6c34\",\n",
       "                \"\\u868c\\u57e0\",\n",
       "                \"\\u6000\\u5316\",\n",
       "                \"\\u6f4d\\u574a\",\n",
       "                \"\\u65b0\\u4e61\",\n",
       "                \"\\u65e0\\u9521\",\n",
       "                \"\\u6dc4\\u535a\",\n",
       "                \"\\u9e64\\u58c1\"\n",
       "            ]\n",
       "        }\n",
       "    ],\n",
       "    \"yAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_1baea577039c4be2b6b3d3d3055c113d.setOption(option_1baea577039c4be2b6b3d3d3055c113d);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x266e7612860>"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pyecharts.charts import Bar\n",
    "bar = Bar()\n",
    "bar.add_xaxis(final_city_results.index.tolist())\n",
    "bar.add_yaxis('城市评论数',final_city_results['comment'].values.tolist())\n",
    "bar.render_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min', 'China':'https://assets.pyecharts.org/assets/maps/china'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"2ca678be732a4053b3687fc4b747267c\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts', 'China'], function(echarts) {\n",
       "                var chart_2ca678be732a4053b3687fc4b747267c = echarts.init(\n",
       "                    document.getElementById('2ca678be732a4053b3687fc4b747267c'), 'white', {renderer: 'canvas'});\n",
       "                var option_2ca678be732a4053b3687fc4b747267c = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"heatmap\",\n",
       "            \"name\": \"\\u8bc4\\u8bba\\u5730\\u56fe\",\n",
       "            \"coordinateSystem\": \"geo\",\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u4e0a\\u6d77\",\n",
       "                    \"value\": [\n",
       "                        121.473701,\n",
       "                        31.230416,\n",
       "                        40\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e3d\\u6c34\",\n",
       "                    \"value\": [\n",
       "                        119.92,\n",
       "                        28.45,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5317\\u4eac\",\n",
       "                    \"value\": [\n",
       "                        116.407526,\n",
       "                        39.90403,\n",
       "                        75\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5357\\u4eac\",\n",
       "                    \"value\": [\n",
       "                        118.78,\n",
       "                        32.04,\n",
       "                        6\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5357\\u901a\",\n",
       "                    \"value\": [\n",
       "                        121.05,\n",
       "                        32.08,\n",
       "                        2\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5408\\u80a5\",\n",
       "                    \"value\": [\n",
       "                        117.27,\n",
       "                        31.86,\n",
       "                        2\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5409\\u6797\",\n",
       "                    \"value\": [\n",
       "                        125.32599,\n",
       "                        43.896536,\n",
       "                        2\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u54c8\\u5c14\\u6ee8\",\n",
       "                    \"value\": [\n",
       "                        126.63,\n",
       "                        45.75,\n",
       "                        5\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5510\\u5c71\",\n",
       "                    \"value\": [\n",
       "                        118.02,\n",
       "                        39.63,\n",
       "                        2\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5609\\u5174\",\n",
       "                    \"value\": [\n",
       "                        120.76,\n",
       "                        30.77,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5929\\u6d25\",\n",
       "                    \"value\": [\n",
       "                        117.200983,\n",
       "                        39.084158,\n",
       "                        5\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5b81\\u6ce2\",\n",
       "                    \"value\": [\n",
       "                        121.56,\n",
       "                        29.86,\n",
       "                        2\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5b89\\u5eb7\",\n",
       "                    \"value\": [\n",
       "                        109.01,\n",
       "                        32.41,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5b89\\u9633\",\n",
       "                    \"value\": [\n",
       "                        114.35,\n",
       "                        36.1,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e7f\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        113.23,\n",
       "                        23.16,\n",
       "                        15\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5f20\\u5bb6\\u53e3\",\n",
       "                    \"value\": [\n",
       "                        114.87,\n",
       "                        40.82,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5f90\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        117.2,\n",
       "                        34.26,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6000\\u5316\",\n",
       "                    \"value\": [\n",
       "                        109.58,\n",
       "                        27.33,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6210\\u90fd\",\n",
       "                    \"value\": [\n",
       "                        104.06,\n",
       "                        30.67,\n",
       "                        19\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u626c\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        119.42,\n",
       "                        32.39,\n",
       "                        2\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u65b0\\u4e61\",\n",
       "                    \"value\": [\n",
       "                        113.52,\n",
       "                        35.18,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u65e0\\u9521\",\n",
       "                    \"value\": [\n",
       "                        120.29,\n",
       "                        31.59,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u676d\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        120.19,\n",
       "                        30.26,\n",
       "                        17\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6b66\\u6c49\",\n",
       "                    \"value\": [\n",
       "                        114.31,\n",
       "                        30.52,\n",
       "                        9\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6bd5\\u8282\",\n",
       "                    \"value\": [\n",
       "                        105.18,\n",
       "                        27.18,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6cf0\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        119.9,\n",
       "                        32.49,\n",
       "                        2\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6d4e\\u5357\",\n",
       "                    \"value\": [\n",
       "                        117,\n",
       "                        36.65,\n",
       "                        2\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6dc4\\u535a\",\n",
       "                    \"value\": [\n",
       "                        118.05,\n",
       "                        36.78,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6df1\\u5733\",\n",
       "                    \"value\": [\n",
       "                        114.07,\n",
       "                        22.62,\n",
       "                        7\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6e29\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        120.65,\n",
       "                        28.01,\n",
       "                        2\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6f4d\\u574a\",\n",
       "                    \"value\": [\n",
       "                        119.1,\n",
       "                        36.62,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u77f3\\u5bb6\\u5e84\",\n",
       "                    \"value\": [\n",
       "                        114.48,\n",
       "                        38.03,\n",
       "                        2\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u798f\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        119.3,\n",
       "                        26.08,\n",
       "                        5\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u82cf\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        120.62,\n",
       "                        31.32,\n",
       "                        9\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u868c\\u57e0\",\n",
       "                    \"value\": [\n",
       "                        117.21,\n",
       "                        32.56,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8862\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        118.88,\n",
       "                        28.97,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u897f\\u5b89\",\n",
       "                    \"value\": [\n",
       "                        108.95,\n",
       "                        34.27,\n",
       "                        8\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8d35\\u9633\",\n",
       "                    \"value\": [\n",
       "                        106.71,\n",
       "                        26.57,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u90af\\u90f8\",\n",
       "                    \"value\": [\n",
       "                        114.47,\n",
       "                        36.6,\n",
       "                        1\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u90d1\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        113.65,\n",
       "                        34.76,\n",
       "                        5\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u91cd\\u5e86\",\n",
       "                    \"value\": [\n",
       "                        106.551556,\n",
       "                        29.563009,\n",
       "                        6\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u91d1\\u534e\",\n",
       "                    \"value\": [\n",
       "                        119.64,\n",
       "                        29.12,\n",
       "                        3\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u957f\\u6c99\",\n",
       "                    \"value\": [\n",
       "                        113,\n",
       "                        28.21,\n",
       "                        6\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9752\\u5c9b\",\n",
       "                    \"value\": [\n",
       "                        120.33,\n",
       "                        36.07,\n",
       "                        3\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9a6c\\u978d\\u5c71\",\n",
       "                    \"value\": [\n",
       "                        118.48,\n",
       "                        31.56,\n",
       "                        2\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9e64\\u58c1\",\n",
       "                    \"value\": [\n",
       "                        114.11,\n",
       "                        35.54,\n",
       "                        1\n",
       "                    ]\n",
       "                }\n",
       "            ],\n",
       "            \"pointSize\": 20,\n",
       "            \"blurSize\": 20,\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"rippleEffect\": {\n",
       "                \"show\": true,\n",
       "                \"brushType\": \"stroke\",\n",
       "                \"scale\": 2.5,\n",
       "                \"period\": 4\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u8bc4\\u8bba\\u5730\\u56fe\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u8bc4\\u8bba\\u5730\\u56fe\": true\n",
       "            },\n",
       "            \"show\": true\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"formatter\": function (params) {        return params.name + ' : ' + params.value[2];    },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u8bc4\\u8bba\\u6570\"\n",
       "        }\n",
       "    ],\n",
       "    \"visualMap\": {\n",
       "        \"show\": true,\n",
       "        \"type\": \"continuous\",\n",
       "        \"min\": 0,\n",
       "        \"max\": 100,\n",
       "        \"inRange\": {\n",
       "            \"color\": [\n",
       "                \"#50a3ba\",\n",
       "                \"#eac763\",\n",
       "                \"#d94e5d\"\n",
       "            ]\n",
       "        },\n",
       "        \"calculable\": true,\n",
       "        \"splitNumber\": 5,\n",
       "        \"orient\": \"vertical\",\n",
       "        \"showLabel\": true\n",
       "    },\n",
       "    \"geo\": {\n",
       "        \"map\": \"China\",\n",
       "        \"roam\": true,\n",
       "        \"emphasis\": {}\n",
       "    }\n",
       "};\n",
       "                chart_2ca678be732a4053b3687fc4b747267c.setOption(option_2ca678be732a4053b3687fc4b747267c);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x266ebf79048>"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pyecharts.charts import Geo\n",
    "from pyecharts.globals import ChartType\n",
    "from pyecharts import options as opts\n",
    "\n",
    "def geo_heatmap():\n",
    "    c = (\n",
    "        Geo()\n",
    "        .add_schema(maptype=\"China\")\n",
    "        .add(\n",
    "            \"评论地图\",\n",
    "            list(zip(support_comm_city_results.index.tolist(),support_comm_city_results['comment'].values.tolist())),\n",
    "            type_ = ChartType.HEATMAP,    #热图\n",
    "            #type_ = ChartType.EFFECT_SCATTER,    #散点图\n",
    "        )\n",
    "        .set_series_opts(label_opts=opts.LabelOpts(is_show=True))\n",
    "        .set_global_opts(\n",
    "            visualmap_opts = opts.VisualMapOpts(),\n",
    "            title_opts = opts.TitleOpts(title = '评论数')\n",
    "        )\n",
    "    )\n",
    "    return c\n",
    "geo_heatmap().render_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import jieba"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'据悉 ， 其 主要 任务 是 监视 陨石 、 人造卫星 和 太空 垃圾 等 ， 今后 或会 继续 增加 其 任务 范围 。 部队 成立 初期 规模 为 20 人 ， 未来 可能 借助 民间 知识 和 技术 ， 进一步 扩大 人员 规模 。'"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sen = '据悉，其主要任务是监视陨石、人造卫星和太空垃圾等，\\\n",
    "今后或会继续增加其任务范围。部队成立初期规模为20人，\\\n",
    "未来可能借助民间知识和技术，进一步扩大人员规模。'\n",
    "' '.join(jieba.cut(sen))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>name</th>\n",
       "      <th>city</th>\n",
       "      <th>score</th>\n",
       "      <th>rating</th>\n",
       "      <th>comment</th>\n",
       "      <th>sentiment_score</th>\n",
       "      <th>valid_city</th>\n",
       "      <th>word</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-06-27</th>\n",
       "      <td>0</td>\n",
       "      <td>tianya无泪</td>\n",
       "      <td>河北石家庄</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>易烊千玺的李必真的很棒了，第一部影视化作品四字弟弟太值得夸。看似清高孤傲，实际情义双全。他演...</td>\n",
       "      <td>0.862567</td>\n",
       "      <td>石家庄</td>\n",
       "      <td>易 烊 千玺 的 李必 真的 很棒 了 ， 第一部 影视 化 作品 四字 弟弟 太 值得 夸...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-27</th>\n",
       "      <td>1</td>\n",
       "      <td>吹哥</td>\n",
       "      <td>辽宁大连</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>期待这部剧很久了，感觉唐朝的还原度非常高，装饰的道具都很真实。剧中人物的服装非常精致，就是漂...</td>\n",
       "      <td>0.760200</td>\n",
       "      <td></td>\n",
       "      <td>期待 这部 剧 很 久 了 ， 感觉 唐朝 的 还原 度 非常 高 ， 装饰 的 道具 都 ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-28</th>\n",
       "      <td>2</td>\n",
       "      <td>ECHOT</td>\n",
       "      <td>Paris, France</td>\n",
       "      <td>1</td>\n",
       "      <td>很差</td>\n",
       "      <td>希望越大失望越大，一口气看了四五集，不知所云，画面很美，只不过给B站剪辑手提供了很多空境素材...</td>\n",
       "      <td>0.713012</td>\n",
       "      <td></td>\n",
       "      <td>希望 越大 失望 越大 ， 一口气 看 了 四五 集 ， 不知所云 ， 画面 很 美 ， 只...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-27</th>\n",
       "      <td>3</td>\n",
       "      <td>陈词</td>\n",
       "      <td>陕西西安</td>\n",
       "      <td>4</td>\n",
       "      <td>推荐</td>\n",
       "      <td>雷佳音真是把张小敬的匪气，轻浮，外粗内细演活了。最喜欢他死牢里一抬眼的那股子“狠”劲儿，不想...</td>\n",
       "      <td>0.335210</td>\n",
       "      <td>西安</td>\n",
       "      <td>雷 佳音 真是 把 张小敬 的 匪气 ， 轻浮 ， 外 粗 内细 演活 了 。 最 喜欢 他...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-06-28</th>\n",
       "      <td>4</td>\n",
       "      <td>雨YING</td>\n",
       "      <td>湖北仙桃</td>\n",
       "      <td>1</td>\n",
       "      <td>很差</td>\n",
       "      <td>台词太差了，完全没有起伏，出戏</td>\n",
       "      <td>0.581534</td>\n",
       "      <td></td>\n",
       "      <td>台词 太差 了 ， 完全 没有 起伏 ， 出戏</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            user_id      name           city  score rating  \\\n",
       "date                                                         \n",
       "2019-06-27        0  tianya无泪          河北石家庄      4     推荐   \n",
       "2019-06-27        1        吹哥           辽宁大连      4     推荐   \n",
       "2019-06-28        2     ECHOT  Paris, France      1     很差   \n",
       "2019-06-27        3        陈词           陕西西安      4     推荐   \n",
       "2019-06-28        4     雨YING           湖北仙桃      1     很差   \n",
       "\n",
       "                                                      comment  \\\n",
       "date                                                            \n",
       "2019-06-27  易烊千玺的李必真的很棒了，第一部影视化作品四字弟弟太值得夸。看似清高孤傲，实际情义双全。他演...   \n",
       "2019-06-27  期待这部剧很久了，感觉唐朝的还原度非常高，装饰的道具都很真实。剧中人物的服装非常精致，就是漂...   \n",
       "2019-06-28  希望越大失望越大，一口气看了四五集，不知所云，画面很美，只不过给B站剪辑手提供了很多空境素材...   \n",
       "2019-06-27  雷佳音真是把张小敬的匪气，轻浮，外粗内细演活了。最喜欢他死牢里一抬眼的那股子“狠”劲儿，不想...   \n",
       "2019-06-28                                    台词太差了，完全没有起伏，出戏   \n",
       "\n",
       "            sentiment_score valid_city  \\\n",
       "date                                     \n",
       "2019-06-27         0.862567        石家庄   \n",
       "2019-06-27         0.760200              \n",
       "2019-06-28         0.713012              \n",
       "2019-06-27         0.335210         西安   \n",
       "2019-06-28         0.581534              \n",
       "\n",
       "                                                         word  \n",
       "date                                                           \n",
       "2019-06-27  易 烊 千玺 的 李必 真的 很棒 了 ， 第一部 影视 化 作品 四字 弟弟 太 值得 夸...  \n",
       "2019-06-27  期待 这部 剧 很 久 了 ， 感觉 唐朝 的 还原 度 非常 高 ， 装饰 的 道具 都 ...  \n",
       "2019-06-28  希望 越大 失望 越大 ， 一口气 看 了 四五 集 ， 不知所云 ， 画面 很 美 ， 只...  \n",
       "2019-06-27  雷 佳音 真是 把 张小敬 的 匪气 ， 轻浮 ， 外 粗 内细 演活 了 。 最 喜欢 他...  \n",
       "2019-06-28                            台词 太差 了 ， 完全 没有 起伏 ， 出戏  "
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['word']=df['comment'].map(lambda c: ' '.join(jieba.cut(c)))\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_word = df['word'].str.cat()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "sucess\n"
     ]
    }
   ],
   "source": [
    "from wordcloud import WordCloud\n",
    "print('sucess')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nPYPY51TivWYJR744dhNkANEooykqjsVTCOxrwlSZT6i+FdFqSgRMzdOrh9w9GobSArRYHGVgEGNF\nag9Y+5x5xLo6Ufx+JJudwN492Gfr+h2G3PTMi5PJNZdzcdEnR31PEg10hkfPNYd08z1R7rgkyBRa\nplBim8HO3lcptNQm3IVrS+9mMNbNtu4XE2NXFHyYsDI45tgGX/pqEuBYfZTBAZVw43EADJ4cIo3J\nh25g315MZeUYi4vRVJXgoYOpnyMWJXzsKH2v6a4E0Wwm3qe7amLdPVhnzkQNj1MQJssIJgOiOZkJ\nNpyGqB9QJHzoOJLDhm3JLAbXbcE8tQLnpUspvPcf6HjwcTp/9AQ5d1yJ7Ty9kCfw/l60SJTSH3yW\nE19Mr+Qcjzf8TyAJhrSgek+8NZG62BFrREAgrAXoDaVnSfmCrfhC+oqmvW8fdWVXsr/5JUAjzzWN\nSNyPUbbRMzixoiaAW8zDJebSqhxFQL+XgpqPQbUfo5D5jD8jNE37q/6QrBwa92eae6VWYKlN215g\nqdFcxoK07eX2uSmvZcGoXVT8iYnPpatGjvkjezyjbr/zFof2na/kaM89VqRZLYJ25y0O7fnHi7Ta\naoN2/lKL9vYLJdqX79b3LSqQtB/fl6v9+qcF2tyZpow+/1/7x1Ti1Sq/ebsGaK4VMzTRbNRyr1uq\nmYpzJty3+v47NOey6Rqg5V6zRP8dfGyNZqkpSowRbRbNfeOlmm35fA1J1OwXLNKsC2dqOR+5JuVY\ngixrltopmmv5Ss1UVq7vazRpotGkWarT74+TfxbmXjPme+fl3ahVOxalbZ/puVBbmn+z5jDkZvz7\nkgSDtrroo9rqoo8ltq0u+piWb6nWAM0oWtLGltlmTTg2kx/7/Pmp96zbo8meHM21YqWWc+VVmqU2\n/ffkvfY6zT5vvmafN19zLD4vsT3/1ts1a91M/TqKijTX+een7SvaLRN+b2Di75Zot6bfd9Ulf7V7\nfmb5NVpd2VVaWe4ibWbZ1Rqg2cy52ozSy7Wy3IVabdGFmkAGnxs0g2DSZMGg5UmlWrFco1kFh2YT\nnRqgFcs1moScts+p2tRzRnr3bEDQ02PPeQRJTAmiTm5n9Fv2JEzTqogcbsQ6vw4tFidytBnz1EoE\ng0xgc7oM76lilhyEldELSSTBgDaK5ES+uQq7wTvpIiCr7CasDCaOV26fS0+4kUA8XbrAKrsTgnQT\njZ3wvNOnEzyYnI17LlsLmoYgSnqxj6YlZuXDOJevINYxNGOVZUKH9Px8c3U14aO6eyHv5lvoX/8m\nsc7OSV/T3ypVBSs51qFnXQmCQE3haho7N+OwFNDrP47JYCcSOz2Q+5W3AAAA6UlEQVTtmbE4Vend\nrFHPkiVLlrOQv1mjniVLlixZzhyTlxPMkiVLlixnLVmjniVLliznEFmjniVLliznEFmjniVLlizn\nEFmjniVLliznEFmjniVLliznEFmjniVLliznEFmjniVLliznEFmjniVLliznEFmjniVLliznEFmj\nniVLliznEFmjniVLliznEFmjniVLliznEFmjniVLliznEFmjniVLliznEFmjniVLliznEFmjniVL\nliznEFmjniVLliznEFmjniVLliznEFmjniVLliznEFmjniVLliznEFmjniVLliznEP8fGhDzVlHu\n87gAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x266e776b6d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "wc = WordCloud(width=450, height=300, max_font_size=150, font_path=\"simhei.ttf\")\n",
    "wc.generate_from_text(all_word)\n",
    "plt.imshow(wc)\n",
    "plt.axis('off')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
